package com.xbongbong.pro.message.interfaces;/*/*/

import com.xbongbong.message.domain.entity.PushSetEntity;

import java.util.List;

/**
 * 推送设置
 *
 * @author GuoJun.HU
 * @since V1.0
 * @date 2019/2/19 10:25
 */
public interface IPushSet {

    /**
     * 获取数据库存储格式的时间
     * @param type	时间类型 1：提前 2推后 3循环
     * @param timeInterval	时间段
     * @param time	时间点
     * @return
     * @author chy
     * @date 2016-10-28 上午11:11:47
     */
    String toTimeJsonStr(Integer type, Integer time, Integer timeInterval, Integer timeIntervalType, Integer loop);

    /**
     * 获取数据库存储格式的推送对象
     * @param pushObjectType	推送对象类型，有推送对象类型，则其他员工范围设置失效
     * @param pushRole			推送角色
     * @param pushDep			推送部门
     * @param pushUser			推送员工
     * @return String
     * @author chy
     * @date 2016-10-28 上午11:14:06
     */
    String toPushObjectJsonStr(Integer pushObjectType, List<Integer> pushRole, List<Long> pushDep, List<String> pushUser);

    /**
     * 转换成数据库存储对应的entity
     * @param pushObject	推送对象
     * @param pushTime		推送时间
     * @param attrEntity	指定推送字段
     * @return PushSetEntity
     * @author chy
     * @date 2016-10-31 上午9:12:58
     */
    PushSetEntity toPushSetEntity(String pushObject, String pushTime, String attrEntity);
}
